#ifndef _SINGERCOVER_
#define _SINGERCOVER_

#include "../esflow/vector.h"
#include "../common.h"
#include "../VSingerUi.h"
#include <deque>

#include "CoverData.h"
#include "AnimationCtrl.h"



class VPicture;

struct singer_t;

class CSingerCover
{
    friend class CSingerCoverData;
    friend class CSingerAnimationCtrl;
public:
    CSingerCover(void);

    //CSingerCover(int Id, float fWidth,float fHeight,CVector &fPosition,float fAngle);
    CSingerCover(singer_t* singer);

    ~CSingerCover(void);


    void Render(void);

    singer_t* Click(int x, int y);

    void initdata();

    void RenderText();
    void RenderDetail();

protected:
    static const float common_w,
           common_h;
protected:
    singer_t* _singer;
    float    m_fAngle;
    CVector  m_v3Position;
};

typedef std::deque<CSingerCover*> SingerCoversDeque;

#endif//_SINGERCOVER_